/* 引入axios */
import axios from 'axios';

/* 获取token */
import { getToken } from './index';

/* 创建一个新的axios实例 */
const instance = axios.create({
    /* baseURL:便于为 axios 实例的方法传递相对 URL */
   baseURL:'http://127.0.0.1:7002',
    /* 超时设置 */
    timeout: 3000
});

/* 添加请求拦截器 */
instance.interceptors.request.use(function(config:any) {
    /* 白名单 */
    let writePath=['/user/login'];
    /* 判断是否存在白名单内 */
    if(!writePath.includes(config.url)&& getToken()){
        /* 不在白名单内获取token */
        config.headers.authorization=getToken();
    }
    return config;
}, function(error) {

    return Promise.resolve(error);
});

/* 添加响应拦截器 */
instance.interceptors.response.use(function(response) {
    /* loading.off(); */
    /* 判断状态码进行处理 */
    if (response.status !== 200) {
        /* 请求错误 */
        console.log('response error...', response);

        /* 提示 */
       /* message.error(response.statusText); */

        return Promise.resolve();
    } else if (response.data.code !== 1) {
        /* 业务逻辑错误 */
        console.log('data error...', response.data);

         /* 提示 */
        /*  message.error(response.data.msg); */

         return Promise.resolve();
    } else {
        /* 成功返回数据 */
        return response.data;
    }
}, function(error) {
    console.log(error);

    /* 提示 */
   /*  message.error(error.toString()); */

    return Promise.resolve(error);
});

/* 抛出 */
export default instance;